package com.lemon.boot.service;

import cn.hutool.core.lang.Dict;
import com.lemon.boot.common.web.Result;
import com.lemon.boot.dto.InviteDTO;
import com.lemon.boot.dto.UpdatePasswordDTO;
import com.lemon.boot.dto.UserDTO;
import com.lemon.boot.po.NoticePO;
import com.lemon.boot.vo.RouteResourceVO;
import com.lemon.boot.vo.RouteVO;
import com.lemon.boot.vo.WelcomeVO;

import java.util.List;
import java.util.Map;

/**
 * @author 李猛
 * @datetime 2024/5/18 17:29
 * @description 接口对象
 */
public interface IWelcomeService {
    Map<String, Object> getApi();

    WelcomeVO getByCurrentUser();

    Result<String> getCurrentAvatar();

    Result<String> getCurrentTenantName();

    String updatePwd(Map<String, String> param);

    List<RouteResourceVO> getRouteResource();

    String inviteUser(InviteDTO inviteDTO);

    List<Dict> getInviteUserTime();

    List<RouteVO> getRoutes();

    String tenantRegister(Map<String, Object> map);

    String userRegister(UserDTO userDTO);

    void getCaptchaCode();

    Dict sendByEmailOrPhone(Map<String, String> param);

    Result<String> updatePwdByEmailOrPhone(UpdatePasswordDTO updatePasswordDTO);

    String addNotice(NoticePO noticePO);

    NoticePO getNoticeById(Long id);

    List<NoticePO> getNoticeList(Map<String, Object> map);

    Map<String,Object> getByCurrent();
}
